home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / source / dptools / mousedtv.doc < prev    next >
Encoding:
Text File  |  1994-10-25  |  4.4 KB  |  130 lines

  1. salut ...
  2.  
  3.            mouse edit sous turbo vision réalisé en turbo pascal (7) par
  4.                             charles vidal octobre 94.
  5.  
  6. Comment marche le curseur graphique.
  7.  
  8. Le pointeur graphique est réalisé en combinant un masques de 16x16 pixels
  9. soit 16x16 bits , applés masque ecran et masque curseur.
  10. Les bits correspondants a chaqun des masques sont combinés au moyen d'operations
  11. logiques:
  12.  
  13. masque ecran    masque curseur     pixel a l'écran
  14. 0               1                  couleur 0
  15. 0               0                  couleur 15 ( blanc par défaut )
  16. 1               1                  Inchangé par rapport au fond(transparence).
  17. 1               0                  Inversé   "              "  .
  18.  
  19. Il faut aussi definir la position du pixel qui représentera le point actif
  20. pour le pointage (X,Y).
  21. Pour cette dernière indication , le coin gauche des masques est l'origine.
  22. Pour tout ce qui est de la manipulation de la souris voir interruption 33 .
  23. voir livre marabout, ou liste interruption ou borland c++ programmation
  24. orientée objet etc ....
  25.  
  26.  
  27. Ce que fait mousedtv :
  28.  C'est un logiciel qui permet grace a une interface graphique , de
  29.  définir facilement , a coup de click de souris, le dessin des deux masques.
  30. Les fonctions de sauvegarde et chargement du travail sont aussi implenté.
  31.  
  32. Il permet de modifier le point d'action de la souris.
  33.  
  34. Il offre aussi des fonctions bien utiles comme:
  35.  
  36. -   clear : met les masques a zero  .
  37. -   rotation: rotation de 90 degres des 2 masques.
  38. -   fill: remplissage complet de soit masque ecran soit masque curseur.
  39. -   faire masque : a partir du masque curseur crée un masque ecran:
  40.                       tres simplement en faisant un XOR. tres pratique.
  41. -   essai: essai du curseur sur lequel on a longuement travaillé.
  42.  
  43.  
  44. Mais surtout  , on peut sortir directement du source soit en pascal , soit en
  45.  C . ( pour le BASIC , je n'y connait rien, a part celui de mon vieux et
  46.  regretté AMSTRAD CPC , c'est qu'on s'attache ... snif ... snif... , vous vous
  47.  demerdé donc pour le BASIC.Et puis non, mettez vous au pascal honnete pour le
  48.  le systeme DOS , ou plutot au C pour tous les systemes existants ).
  49.  
  50. Les sources que sort le logiciel sont en fait uniquement que la definition
  51.  de constante , que vous devrez appelé dans vos programmes.
  52.  
  53.  Pour les sources pascals:
  54.   le type de donnée est :
  55.   Type
  56.   dessin_curseur = record
  57.                      contx,conty    : integer;
  58.                      mask_ecran   : array[0..15] of word;
  59.                      mask_curseur : array[0..15] of word;
  60.                    end;
  61.  
  62.   Pour les sources C:
  63.    le type de données est :
  64.  
  65. struct PointActifStruct { int X, Y; };
  66.  
  67. struct dessin_curseur
  68. { PointActifStruct PointActif;
  69.   unsigned ScreenMask[16];
  70.   unsigned CursorMask[16];
  71. };
  72.  
  73. Fonction de changement de curseur :
  74.  
  75.      -en pascal :
  76. Procedure change_souris(var p:dessin_curseur);
  77. Var reg : registers;
  78. begin
  79.     with reg,p do
  80.     begin
  81.       ax:=9;
  82.       bx:=contx;
  83.       cx:=conty;
  84.       dx:=ofs(mask_ecran[00]);
  85.       es:=seg(mask_ecran[00]);
  86.     end;
  87.     intr($33,reg);
  88. end;
  89.  
  90.      -en C      :
  91.  
  92. void SetGCursor(const dessin_curseur &NewCursor)
  93. /*  Modifie la forme du pointeur graphique de la souris NewCursor*/
  94. { REGS regs;
  95.   SREGS sregs;
  96.   regs.x.ax = 9;
  97.   regs.x.bx = NewCursor.PointActif.X;
  98.   regs.x.cx = NewCursor.PointActif.Y;
  99.   regs.x.dx = FP_OFF(NewCursor.ScreenMask);
  100.   sregs.es  = FP_SEG(NewCursor.ScreenMask);
  101.   int86x(0x33, ®s, ®s, &sregs);
  102. }
  103.  
  104. En fait il simplifit la tache du programmer.
  105.  
  106. Il est fournit avec ce logiciel , un certain nombre de (.CUR) curseurs,
  107.  ( certain viennent de la Xlib , copieur !! eh bien oui..mais d'autres sont
  108.  originaux)
  109.  fait en bon usage,a la rigueur si vous en avez fait certain interresant,
  110.  mettez les dans le domaine public.
  111.  
  112.  Ce logiciel , ainsi que les curseurs prédéfinis sont freeware:
  113.      c'est gratuit.
  114.      Et donc ce logiciel ne peut etre vendu.
  115.      - distribustion illimité , si mousedTV vous plait distribué le a vos
  116.       amis, à vos connaissences , au curé de la paroisse.
  117.      - vous pouvez modifier les sources a votre guise .
  118.  
  119.  J'ai remarqué des bugs , si vous arrivé a le debuger , s'il vous plait ,
  120.  faites le moi savoir.
  121.  
  122.  Pour toutes suggestions ecrire  par email à
  123.  charles vidal.
  124.  adresse email:
  125.  vidal@amertume.ufr-info-p7.ibp.fr
  126.   (amertume machine de l'université de jussieu paris 7 ).
  127.  
  128. merci utiliser mousedtv
  129. have fun.
  130.